const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

module.exports = {
  formatTime: formatTime,
  ab2hex: ab2hex,
  ab2str: ab2str,
  logE: logE,
  logW: logW,
  logI: logI,
  logD: logD,
}

// ArrayBuffer转16进度字符串示例
function ab2hex(buffer) {
  var hexArr = Array.prototype.map.call(
    new Uint8Array(buffer),
    function (bit) {
      return ('00' + bit.toString(16)).slice(-2)
    }
  )
  return hexArr.join('');
}

// ArrayBuffer转字符串
function ab2str(arrayBuffer) {
  var unit8Arr = new Uint8Array(arrayBuffer);
  var encodedString = String.fromCharCode.apply(null, unit8Arr)
  //没有这一步中文会乱码
  var decodedString = decodeURIComponent(escape((encodedString)));
  return decodedString;
}

function logE(msg) {
  console.error(msg)
}
function logW(msg) {
  console.warn(msg)
}
function logI(msg) {
  console.info(msg)
}
function logD(msg) {
  console.log(msg)
}

